package com.springboot.controller;


import com.springboot.annotation.RequireRole;
import com.springboot.common.Result;
import com.springboot.entity.Carousel;
import com.springboot.service.ICarouselService;
import org.springframework.web.bind.annotation.*;

import jakarta.annotation.Resource;

/**
 * 轮播图表 前端控制器
 *
 * @author zjb
 * @since 2025-10-24
 */
@RestController
@RequestMapping("/carousel")
public class CarouselController {

    @Resource
    private ICarouselService carouselService;

    /**
     * 添加轮播图
     *
     * @param carousel 轮播图信息
     * @return 添加结果
     */
    @PostMapping()
    public Result addCarousel(@RequestBody Carousel carousel) {
        return carouselService.addCarousel(carousel);
    }

    /**
     * 删除轮播图
     *
     * @param carouselId 轮播图ID
     * @return 删除结果
     */
    @DeleteMapping("/{carouselId}")
    public Result removeCarousel(@PathVariable Integer carouselId) {
        return carouselService.removeCarousel(carouselId);
    }

    /**
     * 更新轮播图信息
     *
     * @param carouselId 轮播图ID
     * @param carousel   轮播图更新信息
     * @return 更新结果
     */
    @PutMapping("/{carouselId}")
    public Result updateCarousel(@PathVariable Integer carouselId,@RequestBody Carousel carousel) {
        return carouselService.updateCarousel(carouselId,carousel);
    }

    /**
     * 获取轮播图列表（分页）
     *
     * @param pageNum  页码
     * @param pageSize 每页显示数量
     * @return 轮播图分页列表数据
     */
    @GetMapping("/list")
    public Result getCarousel(@RequestParam Integer pageNum,@RequestParam Integer pageSize) {
        return carouselService.getCarousel(pageNum,pageSize);
    }
}